home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 12544 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  4.6 KB

  1. Path: imonics.com!not-for-mail
  2. From: rcook@imonics.com (Imonics Corporation)
  3. Newsgroups: comp.lang.c++,comp.lang.c,comp.object,comp.software-eng
  4. Subject: Re: Portability of code & skills (Beware of "C" Hackers etc)
  5. Date: 20 Mar 1996 09:46:46 -0500
  6. Organization: Imonics Corporation
  7. Message-ID: <4ip5om$s9@bughouse.imonics.com>
  8. References: <4ikb6kINN1is@mayne.ugrad.cs.ubc.ca> <DoI5Ao.AyJ@assip.csasyd.oz> <EJH.96Mar19163745@larry.gsfc.nasa.gov> <3150415E.6396@sdt.com>
  9. NNTP-Posting-Host: bughouse.imonics.com
  10.  
  11. In article <3150415E.6396@sdt.com>, Larry Baker  <leb@sdt.com> wrote:
  12. >UNIX was never free.  AT&T charged something like $50,000 (don't
  13. >quote me) for a full UNIX source license to corporations in the
  14. >70's and early 80's, though they may have given it away to
  15. >Universities.
  16.  
  17. AT&T was forbidden to sell the software until phone co.
  18. deregulation.  It was "free" (you paid for your own tape) if you
  19. were an educational institution.  That was the only way anyone
  20. could get it.  It was not for sale.
  21.  
  22. >From my point of view UNIX was and is a success for simple
  23. >economic reasons.  For a few 100k$ a computer maker could
  24. >license an operating system to port to a new computer, and
  25. >voila! new computer out the door.  Having UNIX on your (new)
  26. >computer made it easy for 3rd-party software vendors to
  27. >port products to your machine, making it marketable to a
  28. >wide audience.
  29.  
  30. I think Unix and C are a success because they are deliberately
  31. obscure.  All those "computer science" graduates just love
  32. knowing a secret code with which they can amaze people.  They
  33. don't WANT it to be easy to understand; that would mean that
  34. other people could and would read their code and be able to do
  35. the things they do.  That would weaken their club membership
  36. (sort of like letting in girls is to 7-year-olds).
  37.  
  38. >Remember that before UNIX, there was no commercially available,
  39. >portable, licenseable multi-user OS that could live on vastly
  40. >different computer architectures. (ok, I'm ignoring OS/9, but
  41. >I think it's more of a real-time, niche-oriented OS.)
  42. >
  43. >The same argument holds for the "success" of C.  At the time,
  44. >the only other language that "competed" with C for the mainstream,
  45. >popular (PC, workstation) programming population was Pascal,
  46. >compiled BASIC, FORTRAN or PL/M.  FORTRAN was the only one
  47. >with a recognizable, widely accepted standard and reasonable
  48. >portability.
  49.  
  50. The portability issue is/was partially myth; it gave rise to
  51. non-computer people (and some who should have known better) saying
  52. things like "Write it in C so it will be portable".  That's
  53. horse manure.  It is easier to WRITE portable code in C because
  54. there are more C compilers, but that doesn't mean that C code
  55. is inherently more portable.  The other thing about portability
  56. is the commercial part of the myth -- companies don't really 
  57. want to change machines and operating systems every few years,
  58. that's for people who regard them as toys.
  59.  
  60. >
  61. >C was (and is) reasonably portable, relatively simple, (especially
  62. >the simple K&R based compilers), cheap to implement, and low-level
  63. >enough to appeal to the people having to squeeze the last cycle
  64. >of performance out of early PCs and Workstations.
  65. >
  66. >Low-level performance is not as much of a mainstream priority
  67. >today, but it was in the 70's and 80's.  Ever programmed on
  68. ...
  69. >
  70. >Don't be too hard on the so-called "C-hackers" who tried to
  71. >squeeze every bit of memory, every cycle of performance out
  72. >of some of these older machines.  There was a time when their
  73. >skills were needed.  They're simply practicing a skill that
  74. >isn't all that necessary today.
  75.  
  76. This SAME ARGUMENT (that it isn't necessary today, but was "back
  77. when) has been made for AT LEAST 10 years, and perhaps 15.  The
  78. problem is not that people need to squeeze performance out of
  79. slow machines -- they have to do that sometimes, but that isn't
  80. the problem.  The problem is that they use that argument to justify
  81. poor engineering practice even when performance is not an issue.
  82. Witness the people who will do micro-second-saving-practices when
  83. writing a user interface, where the next thing to happen is waiting
  84. for keystrokes.  Witness people who will argue against splitting
  85. things into subroutines "because of performance" without a single
  86. minute spent evaluating whether there are any performance problems
  87. to be solved.
  88.  
  89. If I find a person who will engineer a piece of software, measure the
  90. performance, and then examine which pieces require optimization in
  91. order to speed up the system; if this person will document what he
  92. is doing so that those who come later can figure it out, then he can
  93. put as many gotos, obscure pointer arithmetic, and etc. into his code
  94. as will get the job done.  I won't object, and I won't call it hacking.
  95.  
  96. rc
  97.